home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2004 April / Gamestar_61_2004-04_dvdb.iso / DVDStar / Editace / hltp.exe / {app} / Source Code / Textures SDK / common / polylib.h < prev    next >
Text File  |  1998-12-02  |  1KB  |  36 lines

  1. /***
  2. *
  3. *    Copyright (c) 1998, Valve LLC. All rights reserved.
  4. *    
  5. *    This product contains software technology licensed from Id 
  6. *    Software, Inc. ("Id Technology").  Id Technology (c) 1996 Id Software, Inc. 
  7. *    All Rights Reserved.
  8. *
  9. ****/
  10.  
  11.  
  12. typedef struct
  13. {
  14.     int        numpoints;
  15.     vec3_t    p[8];        // variable sized
  16. } winding_t;
  17.  
  18. #define    MAX_POINTS_ON_WINDING    128
  19.  
  20. winding_t    *AllocWinding (int points);
  21. vec_t    WindingArea (winding_t *w);
  22. void    WindingCenter (winding_t *w, vec3_t center);
  23. void    ClipWinding (winding_t *in, vec3_t normal, vec_t dist,
  24.                      winding_t **front, winding_t **back);
  25. void    ClipWindingNoCopy (winding_t *in, vec3_t normal, vec_t dist,
  26.                      winding_t **front, winding_t **back);
  27. winding_t    *ChopWinding (winding_t *in, vec3_t normal, vec_t dist);
  28. winding_t    *ChopWindingNoFree (winding_t *in, vec3_t normal, vec_t dist);
  29. winding_t    *CopyWinding (winding_t *w);
  30. winding_t    *BaseWindingForPlane (vec3_t normal, float dist);
  31. void    CheckWinding (winding_t *w);
  32. void    WindingPlane (winding_t *w, vec3_t normal, vec_t *dist);
  33. void    RemoveColinearPoints (winding_t *w);
  34. int        WindingOnPlaneSide (winding_t *w, vec3_t normal, vec_t dist);
  35. void    FreeWinding (winding_t *w);
  36. void    WindingBounds (winding_t *w, vec3_t mins, vec3_t maxs);